/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package vm.project;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.StringTokenizer;

/**
 *
 * @author Etosha
 */
public class FiltreNom {
    
    private HashMap<String, String> dictionnaire;
    
    
    public FiltreNom (String nomFicSrc) {
        
        dictionnaire = new HashMap<String, String>();
        
        // Contient la ligne courante du fichier
        String line = null;
        // Determine le type de séparateur 
        String delimiter = ";";

        StringTokenizer strToken = null;
        BufferedReader bufferReader;

        //Indice de la ligne courante
        int lineID = 0;
        // Indice du champs courant
        int fieldID = 0;

        try{
            //Ouvrir le fichier CSV  
            bufferReader = new BufferedReader(new FileReader(nomFicSrc));

            //parcourir les lignes du fichier CSV
            System.out.println("Debut du traitement du fichier de correspondances");

            while ((line = bufferReader.readLine()) != null) {
                //Parcourir les champs séparés par delimiter
                strToken = new StringTokenizer(line, delimiter);

                String valeur = strToken.nextToken(); //fieldID++;

                while (strToken.hasMoreTokens()) {
                    try{
                        // On remplit le dico
                        String[] split = strToken.nextToken().split(" - ");
                        dictionnaire.put(split[0], valeur); //fieldID++;
                    }catch(NumberFormatException nfex){}
                }
            }
    } catch (IOException ioex) {}
        
        System.out.println("Fin du traitement du fichier de correspondances");
    }
    
    public String get(String nom){
        String modif = dictionnaire.get(nom);
        if(modif!=null){
            return modif;
        }else{
            return nom;
        }
    }
    
    public String toString() {
        String afficher = "";
        for (String k : dictionnaire.keySet()){
            afficher+="CLE : "+k+"\n";
            String val = dictionnaire.get(k);
            afficher+=", VALEUR : "+val+"\n";
        }
        return afficher;  
    }
    
}
